状态栏与系统覆盖层
控制页面的状态栏以及非瞬态系统覆盖层(如 Home 指示器)的可见性 —— 适合构建沉浸式全屏体验。
类型
重要
要让它们生效:
-
必须挂在页面的根视图上 —— 例如
NavigationStack,而不是内部的子视图。导航容器会拦截该 preference,挂在嵌套视图上不起作用。 -
以全屏方式呈现页面。 在 sheet 呈现下,状态栏与系统覆盖层由呈现它的页面持有,该 preference 会被忽略:
说明:
persistentSystemOverlays="visible"就是默认状态,设置它不会有可观察的变化。想看到效果请用"hidden"。- iOS 不允许永久移除 Home 指示器 ——
"hidden"只是让它变淡并自动隐藏,手指交互时又会出现。
示例
也可以用链式 modifier 的形式:
